Accelerated video exportation to multiple destinations

ABSTRACT

Systems and methods described herein provide a new mechanism of video exportation which ensures that the process is done faster and that a single video can be exported to two or more destination at the same time. This document explains the steps involved in the creation of the video, processes involved in encoding, rendering, transmission/exportation, and playing the video. Figures are used in explaining or illustrating the flow of processes and showing the different devices used in accomplishing various activities in the exporting processes. The application will receive commands to perform the exporting from the destination. Overall, the application will be able to facilitate faster exportation of a video, almost twice the basic speed of the known video exportation systems and to multiple destinations unlike in exportation by the basic applications in use today.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.17/217,273, filed Mar. 30, 2021, which is a continuation of U.S. patentapplication Ser. No. 16/269,527, filed Feb. 6, 2019, now U.S. Pat. No.10,992,960, issued Apr. 27, 2021, titled “Accelerated video exportationto multiple destinations,” which are hereby incorporated herein byreference in their entirety.

DESCRIPTION Field of Invention

The present disclosure is in the field of processing video content. Moreparticularly, the present disclosure provides systems and methodaccelerating exportation of video content to multiple destinations.

Description of Prior Art

Technological advancement has resulted in advancement in photography andvideo creation. Videos have greatly increased in resolution, quality,and size. A 3-minute video can be of up to a size of 300 Mb (megabytes).Exporting such videos takes a considerable amount of time, andtherefore, one objective that technology seeks to achieve—speed—failsautomatically. There has been a great increase in the need for exchangeof videos among video editing and video playing applications, which theyrequire the exporting feature. Also, there has not been introduced orinvented any framework that can facilitate sharing of videos to multipledestinations. With the need for exporting a video at a faster speed andto multiple destinations simultaneously, the patent disclosureintroduces an innovative idea or framework that can facilitate sharingof videos at a faster speed and to multiple destinations.

SUMMARY

FIG. 1 presents a combination of tools and flow of processes along withthe exchange of files, data, and information used in facilitating fasterexportation of videos to multiple destinations. Three concepts areimplemented at this juncture in addition to the normal processes thatvideo exportation follows. One of the concepts is to replicate a videointo two copies. This can be explained using simpler terms as copyingand pasting, only that in this case creation of the copy is doneautomatically as part of the overall exporting process. Afterreplication, the videos are sliced into smaller portions. Slicing is themajor technique that allows this framework to be faster than others.Thirdly, a network is implemented to facilitate transmission of theslices. Before the video is replicated, however, it is compressed andencoded. The replica carries the encoding address with them. Even afterslicing, and converting the files into packets for transmission over thenetwork, after merging, the initial encoding key is restored orreformed. Upon being reformed, decoding and decompression are done inthe destination by this application disclosure.

The art of slicing the videos will ease the load, which will make iteasy for slices to be transmitted faster via the network faster.Transmitting a large file takes longer than transmitting smaller videos.Also, a file is transmitted through a single channel. So, when manyfiles are being transmitted, a transmission channel is created for each.Since larger files take longer to be transmitted when compared tosmaller files, this patent disclosure will slice a file into multipleslices that will be smaller. The smaller slices will, therefore, betransmitted faster through their independent channels. This patentapplication will optimize the transmission channel to allow it tosupport the transmission of all slices without facing obstacles.

BRIEF DESCRIPTION OF THE FIGURES

FIG. 1 shows the processes involved and the entities required infacilitating video exporting.

FIG. 2 shows the video exporting process or rather the processes thatare involved in from the point where the video is created to the pointwhere it is ready for exportation.

FIG. 3 illustrates the compression process in details. This process alsoinvolves the creation of render files.

FIG. 4 shows the video encoding process. The rendering processaccompanies the encoding process.

FIG. 5 shows the process of replicating or cloning the video files andslicing them, which is followed by exporting them via a network.

FIG. 6 illustrates the activities involved in accelerating the networkand allowing it to transmit the video packets fast and efficiently, totheir export destination.

FIG. 7 illustrates the steps that are followed in ensuring that thevideo is rendered and therefore playable after arriving at itsdestination.

FIG. 8 shows the activities that take place in the network infacilitating fast and efficient video transmission to duo or multipledestinations.

DETAILED DESCRIPTION

In the patent disclosure, things involved in exporting a video is lookedinto. This included the user who seeks to export a video, and who mighthave created or outsourced the video, computing and networking hardwareused, the external applications used and the processes involved. Thispatent, however, does not focus on video creation; videos can be sourcedfrom anywhere. But it will manipulate the file in various ways tofacilitate its exportation. These are illustrated in diagrammaticoverview where interrelated diagrams are developed to show how the wholesystem will work in facilitating faster exporting of videos to multipledestinations.

FIG. 1: User 100 is the one responsible for exporting and is presumed tobe in possession of a video, which may be borrowed from a differentsource. The video source has various limited responsibilities whilecompared to the other user. The source provides the video, which can bedirectly recorded, created using software, outsources from an onlinedatabase and other libraries. For instance, YouTube is one of the mostresourceful sources of videos, and Netflix is an example of a goodsource of large High Definition (HD) films and television shows. Othersources include archives such as the British Pathe Film Archive of1896-1976, internet archives, and other historical archives. Presumably,obtaining a video might not be an issue, but one may find themselvestaking a considerable amount of time to get the video due to the lowspeed of transmission between databases or storage spaces.

Indeed, there are numerous websites, cloud-based applications, othersoftware in distributed networks, and others on stand-alone desktopapplications which contain or can house videos. But, for the sake ofimproved accessibility and flexibility, and the sake of the future,exporting videos on the cloud is more focused on. Thus, it is presumedin FIG. 1 that server 225 is on the cloud as well as cloud storage 210.However, to determine efficiency in exportation, a comparison is madebetween different storage servers. Nonetheless, transmission accelerator220 is implemented and serves application regardless of whether they arebased in the cloud or on premises. The accelerator works throughchoosing the best packet routing and bandwidth allocation strategy tocreated slices of the video. This, however, is not managed by the usersince it is a backend functionality, which is more of a networkconfiguration that does not require being set up time and again.

The figure also illustrates various applications or software involved.One basic software is a browser. The application layer of a network, asdiscussed later in FIG. 6, requires the use of applications such as abrowser to perform various essential tasks associated with the displayof content. The application layer allows the user to manage the network,which is only accessible through a browser. Through it, the protocols toimplement, which is IPv6, is set. Also, a file transfer protocol (FTP)is set along with other protocols that allow the user to manage thenetwork as they transmit packets. The other protocols include the SimpleNetwork Management Protocol (SNMP), the Common Management InformationProtocol over TCP (COMT), and email management using the Simple MailTransfer Protocol (SMTP). SMTP, however, is not very much focused onsince it is not part of the protocols that are essentially required atthis juncture. Trivial File Transfer Protocol (TFTP) is another veryessential protocol to implement, however. Also, some concepts areborrowed from the protocols or systems that are supported by TCP/IP andhave shown great success in video files transfer and transfer of otherlarge files.

Hardware is an essential part and a great determinant of the success ofthis application disclosure. Typically, it is mandatory for the computerto have input and output devices with inputs being a mouse, keyboard,microphones, buttons, and others while output devices being the monitorfor display and speakers for voice. However, some specifications asindicated earlier are essential. One of the essential is virtual memory150 to be of considerable size since it is a great determinant of theperformance of a computer. It should be of a large capacity and moreimportantly, developed by legit manufacturers using genuine and legittechnology to allow for efficient and effective functionality with lowchances of the data breaking down. The secondary storage 155 is alsorequired. Secondary storage as indicated earlier may be physical or onthe cloud. But, for smooth functionality and usage of the computer bythe user, installed hard drive is an essential requirement since it ispresumed that a user has to save the video on their computers beforetransmitting it. But some computers entirely work from a network, andthey run applications that are on the server. In such a case, a powerfulnetwork interface card (NIC) is required. The network card allows forwireless peer-to-peer (P2P) connection, connection through ethernet,wireless connection, through Wi-Fi for instance, and connection viaother networking technologies. NIC facilitates Different LANconnections, which may be essential. Thus, one essential away ofexporting a video from a computer to another is through creating a P2Pconnection between the computers and then conducting the transfer. Buteven P2P connection can be facilitated through the cloud especially incomputers that are not in one another's range.

Network Connectors 165 is further illustrated in FIG. 6, being used asconnectors for Network 127A and Network 127B. In particular, the linkused here is the ethernet. But this is a representation of theconnection. In a real sense, the connection can be conducted vianumerous nodes. The nodes of connection that can be conducted on Network127A and Network 127B include Local Area Network (LAN), which implementsthe ethernet. Preferably, a minimum of CAT 6 cables is recommended foruse—while compared to CAT 5 cables, CAT 6 provides greater bandwidth andspeed. In looking at the particular specifications of CAT 6 cables, thysupport Gigabit Ethernet requirements, and frequencies of up to 250 MHzalong with up to 10GBASE-T standards. Besides, the cables can stretch toup to 100 meters without signal attenuation. CAT 6e and CAT 7 cables arealso recommendable since they have advanced features beyond those of CAT6 cables. Virtual LAN (VLAN) network architecture can be used as well asthe Wireless LAN (WLAN). A good example of WLAN is the Wi-Fi, also knownas Wireless LAN (WLAN) or the network standard 802.11a/b/g/n/ac. It isalso fast but has limited functionality which is caused by the inabilityto reach top speed, the inability for the Wi-Fi access point or routerto broadcast signals at a wide range, and the aspect of interference,insecurity, and obstruction of the signal by physical barriers such aswalls, wind, and others. Virtual Private Network (VPN is also a goodchoice for interconnecting user 100 to Network 127A and Network 127B.

Cloud connection poses a slightly different case of networking. Itrequires a broadband internet connection to achieve mobility andhigh-speed at the same time. Cloud server connection 195, therefore,requires special considerations. One of the special considerations thatit requires is the implementation of the Cloud Private NetworkConnection (CPNC). Cloud computing, however, comes with other demandssuch as the mandatory use of a browser, implementation of the cloudmanagement system (CMS), the aspect of training for one to becomefamiliar with them. Even if the major concept in the patent disclosureis to ensure that the video is compressed, encoded, and exported fast,and to two destinations simultaneously, transmission lines to be usedalong with the mode of connection to implement have much to do with thesuccess of the major concepts. Technically, the cloud server connectionwill provide storage space for the video, and it can also be running anapplication that requires the video to be transmitted into. Therefore, auser through the cloud can import or export a video from anywhere. Also,the exporting process can be carried out collaboratively.

However, the cloud connection 195 has to be accessed privately to avoidthe busy public bandwidth and to produce security. This can efficientlyimplement the private intra-cloud networking. Ensuring that the privatenetwork becomes an intra-cloud network is very important and isconsidered complex as well. It is considered important to purchase cloudservice packages from vendors such as the Amazon Web Services (AWS).

Technically, irrespective of network architecture or type, bandwidthconsiderations are important. One has to consider choosing a largebandwidth, especially when dealing with large videos. The bandwidthoptimization 200 modules are implemented in ensuring that the bandwidthremains optimized, providing the flawless exchange of video packets fromthe source application as they get exported to the destination. Onetactic that is implementable in bandwidth optimization is compression ofthe data in the encoding and rendering processes to avoid redundancy inthe source video file. Secondly, duplication is another essential methodto implement in optimizing the bandwidth. Other techniques includeobject caching, traffic shaping, and rectification of forwarding error.The bandwidth optimizer 200 will make use of various networkingprotocols such as the Dynamic Host Configuration Protocol (DHCP), whichis easy to configure as far as virtual networks are concerned. Since itworks best on DNS supported networks, the network setup will adhere toDNS configuration properties, even in the application layer level.Therefore, selection of protocols 190 will have to be included in thiscase. The selection, however, has to take consideration of the differentservers the video is exported to as there is the cloud 195 and 210 aswell as on on-premises destination on 215.

Upon looking back to the hardware requirements that both users 100 needto be using, they need display units. Applications are implemented inthese sections too. The roles of the applications will be to merge thepackets into a single entity and then decrypt an decompress the video sothat is can be playable. Thus, encoding or transcoding and rendering asindicated before are crucial steps that cannot be omitted as far asfaster exporting has to be achieved. Considerably, the application-basedfunctionalities may not greatly change since the most software aredeveloped with standard exporting functionalities. This patentdisclosure has to be implemented as an independent system that can beintegrated into other systems or be used as a stand-alone system. But,using it as a stand-alone system would limit its ability to workefficiently. Technically, the patent disclosure gives a way throughwhich the exportation can be done more efficiently. For instance,earlier implementations have various processes through which a user canmake exporting faster. But this exporting can only be done locally—onthe same computer, and the same local drive. The basic processes ofencoding and rendering are considered in this case too, however, butthey can be borrowed for use in other systems.

The browser 130 is used in not only displaying the applications that arerun on the cloud, but it will also help in showing the rendered videoafter its creation. Digital video recorders, however, can also be in aposition to carry out the rendering process. After browsing the videosto export or to use imported ones, the user needs to use video decoder135, a video decompressor 140, and video streamer or player 145. Theseentities help in ensuring that the patent disclosure is complete,conducting the exporting and tasks and ensuring that the individualsform the receiving end have access to the files. This will ensure thatthe data transmitted travels from source to destination and that afterexport, the file is usable.

FIG. 2: This figure specifically features on the process of exporting upto the point where the video is sent over the network for transmission.Therefore, the network is not considered at this juncture. First, it isnot assumed that a video is created. So, a video will be created. Uponcreation, a video may be in various formats such as Audio VideoInterleave (AVI). Flash Video Format (FLV), Windows Media Video (WMV),Apple QuickTime Movie (MOV), or Moving Pictures Expert Group 4).Technically, MP4 supports more videos when compared to other formats.Therefore, this platform will use MP4 as the standard video, but it willalso accept the other four types. But any other format will need to beconverted, hence the need for the digitizer 102. There will be aninterface for the digitizer which will present the current video formatand choose the new format that the video will take. Digitization ofimages is further explained in FIG. 3, which is better explained throughconversion. The digitization process will be explained further asindicated in FIG. 3.

The other essential process that will follow is the compression of thevideo as in the compress 103. Basically, compression is the process ofextracting the non-crucial and repeated details and remaining with onlythe crucial ones. But, since this is a video, there are concerns aboutthe resolution and overall quality. Lossy compression reduces thequality and resolution as well, and therefore it will not be the bestchoice. Therefore, lossless compression will be conducted. To achievelossless compression, algorithms are used, which exploit the statisticalredundancy which might exist in work. The most efficient algorithm touse in the lossless compression is the Lempel-Ziv (LZ) compression whichis the most popular algorithm that is applicable for lossless storages.A table-based compression model is used where during the compressionprocess, a table is generated dynamically from the data of the videoinput. The table's structure has Huffman encoding, which helps incompressing highly repetitive data efficiently and effectively. TheHuffman encoding, also known as the Huffman code is a prefix code thatimplements a search for repetitive data using the binary search tree andthen identifies the areas where there is redundancy in data. The codingthen eliminates repeated data and remains only the quality and usabledata. However, estimated probability along with the frequency ofoccurrence is used. The compression then gives out the output, which isessentially a video of lesser size.

Lossless compression does not only compress without reducing the qualityand resolution of the video, but it also provides reinstatement of thesame data after decompression. An external application may be used forthe compression, but the system needs to be independent or standingalone and therefore, compression has to be done internally. In fact,compression will be a backend activity, which will be conductedautomatically, once the user initiates the video export process. Thingsthat will be expected upon compression on Compress 103 are theelimination of redundant data, which will automatically reduce the sizeof the video, after exportation, upon decompression in VideoDecompressor 140, the initial size of the video, its quality andresolution will be restored. The same user 100 is presumed to be anexporter and in another phase, a beneficiary of the export, or theindividual at the far end of the export destination. The user on thedestination end can use or play the video through an opening ordownloading and playing, or through compression.

Technically, compression of a video is slow and takes time. But, sincethe objective is to make the overall process faster, the file will beconverted from any other format to MP4 since it is easier to analyzeusing the Huffman code of lossless compression. This will provide theappropriate and efficient compression of the video. The compression willbe able to reduce the video to television standard, which is indeed ofmuch lower size, and decompression will be used in restoring itsoriginal size after reaching destination location. To make thecompression faster, the video will be broken down into smaller frames.Then, a batch of frames will be compressed simultaneously. The aspect ofmultithreading or multitasking is appropriate in explaining thisconcept, where many tasks can be performed at the same time—many framescan be compressed at the same time. This is one benefit of having acomputer with processor 175 being a late-generation processor and thathas the high processing power. The high processing power will allow forthe many cores to process more threads—frames—at a time and at a muchfaster speed. Therefore, the hardware is a key consideration as far asvideo compression is concerned and the whole process at large.

Encoding/transcoding are other essential tasks to be carried out in theprocess. After the video is compressed, the file needs to be secured.The sequence is illustrated in FIG. 2 where after the Compress 103,Encode/transcode 104 follows, which is then followed by splitting andreplication. The encoding process is discussed in details in FIG. 4.But, to the brief of encoding, two types of video encoding will beconducted into videos in this exportation process. One of them is theencoding that is accompanied by rendering, and the other one will be forsecurity the video before exporting it. The first type of encodinginvolves a combination of footage and associated sound and combining thetwo codes to form a video file that has graphics and sound. Then, uponrendering, the video file is decompressed so that it can produce aplayback. If the video plays accordingly, then it is fully rendered. Theother type of encoding handled in Encode 104, and further elaborated inEncoding 110 ensures that a video is transmitted over a network as itis. Without the security, the video cannot reach the desireddestination. Indeed, the video cannot have the address of thedestination that it needs to arrive to.

Further, the file needs to be replicated to two or multiple filesdepending on exporter's privileges where they can choose the number ofdestinations to export the video to. For instance, if there is a largenumber of users in the same network who seek to receive the video, theexporter can include their addresses during encryption and exchangedecryption key with them. Then the video will be replicated depending onthe number of receivers on the wait. Replication is a reproduction ofexact or similar copies of the initial file. Replication is also knownas cloning, and in this case, it will be a feature for use only by theexporter or rather the users of this system. If the exporter isinterested in exporting a video to ten destinations, the same number ofreplicas of the original image will be created. They will then beassigned destination addresses upon being transmitted over the network.The unique addresses will also be included in the slices that will becreated per replica as illustrated in FIG. 6. Various protocols fromProtocols 190 will be used in ensuring that the file reaches itsdestination without any obstructions. Each network model has a set ofprotocols that facilitate the transmission.

Header addresses will be assigned to each replica. The headerinformation will also contain encryption details, which will be combinedwith headers that will be assigned to the files by network protocols tofacilitate their transmission. This will be followed by slicing as shownin FIG. 2: Replicate 106, then Slice 107. The slicing will be done oneach replicated file as indicated in FIG. 6 where the 126A and 126B arethe main video and the replica, which are then sliced as shown in SliceA1, Slice A2, Slice A3 . . . . The slices are then assigned addressesover on networks 127A and network 127B which are a representation of thenetworks that are created to adapt the sets of slices from each video.The process of transmission of slices is illustrated in FIG. 7 abouteach process that is involved. The file slicing functionality has notbeen implemented before. However, this framework will be more advancedsince it will need to slice the files instead of trimming them—no filewill be discarded. Another unique and new feature that will beimplemented is the aspect of automatic slicing.

Technically, the slicing process can only be done upon command. But, inthis platform, it will be a default backend process which will beconducted automatically. The files after splitting will need to bejoined again in the future, and therefore, the reverse of thisfunctionality will be required. Also, this will be required to be doneautomatically. FIG. 6 illustrates that four slices can be made per file,but this is not the standard requirement. The number of slices willdepend on the size of the file and the available bandwidth. If the filewill be large and the bandwidth will be large as well, many slices willbe made, but if the bandwidth is small, then a smaller number of sliceswill be created. Also, if the video will be of small size, then asmaller number of slices will be created. This requires the platform torequire a test to be conducted on the network to check the bandwidthlimit and more importantly, to analyze the nature of traffic on it. Abrief explanation on how to have a large bandwidth will be illustrated.Traffic, however, is an issue for public networks or a network that hasa large number of users. Large organizations that have a private networkused by their large number of employees may have their networks busy,therefore having a reduced amount of unoccupied bandwidth at times.

The bandwidth may not be effective for a certain number of slices ofgiven sizes, which may require bandwidth optimization to be carried out.Thus, Bandwidth Optimizer 200 is used here. But bandwidth optimizationdoes not have to be used as instances, and it may not be the only optionto facilitate smooth transmission. One of the other efficient routinesthat can be used is to carry out the export at times when there is notraffic on the network. But, since an analysis on the network isimportant to identify the bandwidth available, the system can do varioustactics to optimize the bandwidth. Some of these tactics or techniquesinclude conducting a network diagnosis to eliminate any issue that maynot be of great importance in the network. Software as a Service (SaaS)will be considered here especially in helping in bandwidth optimization.Thus, an external application will be implemented on an analysis of thenetwork and optimization of the bandwidth, especially in organizationalnetworks. However, bandwidth optimization will be looked at from twoperspectives—hardware for on-premises local networks and cloud networks.Hardware solutions, as discussed earlier will require bandwidthoptimizer 200 be developed as a network with a high rate of reliability.

The last feature to focus on in FIG. 2 is the export 108. This is theprocedure that follows after the other procedures. Indeed, the abovedescription of how to make the transmission efficient could beunderstood better under exporting. Indeed, 108 explains the wholeexportation procedure at large.

FIG. 3: This figure specifically illustrates the video conversionprocess and preview. The figure, however, shows the interface as amodule that the video exporter will have to interact with as part of theexportation procedure. However, it may not be mandatory for the exporterto convert the media if it is in standard file type or version of MP4.User 100 will select the video to be exported by clicking on the button102A. The system will then display the properties of the video, whichmay be contained in the file's header information or the metadata. Themost crucial information that will be displayed includes file title 301,the copyright, ownership, or authorship information under author 302,date of creation at Date 303, video format at Format 304, and size andcapacity of the video at Size 305. The after converting the video, thesame information will be displayed on the other end of the convertedvideo properties 210. The properties will be shown under Title 311,Author 312, Date 313, Format 314, and Size 315. There are exceptionalcases, however, when the user may need to convert the video into adifferent format other than MP4. In such a case, the user will need toselect the format from the selector 102B. The selector will then showfour file formats that the video can be converted to. The formats areMP4 306 for the MP4 file format, MOV 307 for MOV file format, AVI 308for AVI file format, and FLV 309 for FLV file format.

Considerably, it is important to have a preview of the video beforeconversion and another one after conversion. The previews are providedas shown in FIG. 3 in 316 and 317. This will help the user comparebetween the input and the output and therefore decide whether to stickto the output or to try a different output format. The difference infile formats also affects them in various aspects which include quality,resolution, and others. For instance, MP4 is more compatible with mostmedia players, and its structure allows for a high rate of losslesscompatibility and smaller file size. However, the exportationrequirements of the user may require them to export it in a differentfile format, which they have to comply with. For instance, thedestination file is of a Mac OS or iOS user, MOV is the preferred formatto export the video in since Apple develops its encoding algorithms,making the videos viewable better through on Apple electronics while inMOV format. Besides, some media players such as Windows Media Playeronly support MOV format natively and do not support the files.

The backend processes of converting the media file from one format toanother as in FIG. 3 will require the use of various algorithms whichinclude web-based or cloud conversion or conversion by use of existingexternal applications. But, web-based conversion also requires the samealgorithms since the tool to use in the cloud are software based inSaaS. Some videos may be converted from the television signal andtherefore have to be converted using a field rate conversion algorithmthat has to ensure that the film can be encoded and comply with thestandard formats required. The compression strategy is furtherillustrated in FIG. 4. Compression of a video determines its playback.

FIG. 4: This figure gives a basic video compression process. The firststep as shown in this figure is frame separation 118. This involvesfinding the frame difference—distinctions between two or more videoframes. Since videos incorporate both videos and audio, frame separationinvolves separating audio frames from video frames and also separatingthe graphics frames among themselves between those with high pixilationfrom those with low pixilation. Thus, frame separation 118 will involvevarious activities. But before this begins, they have to obtain theframes from the frame store 119. This is a storage space where the videois located. A process known as frame extraction is carried out inobtaining the frames from the store 119. This will follow after user 100initializes the step of exporting the video. The extraction process 400will be conducted through the transfer of a particular file from thepoint of storage or the current location for further processing.Presuming that the video was being worked on, the retrieval orextraction is conducted faster and easier. After frames get extracted,they will be made dynamic, which will make it easy for them to be usedefficiently. The same extraction process will be required in the processof decompressing the video when it reaches the user over the other end.

MPEG-2 standards, which are used in encoding MP4 video formats is ofgreat use are extraction. The major reason for picking this standard isbecause of its aspect of including four parts which are the video, theaudio, the system, and the detection and testing for the video and audiostreams. Therefore, using this approach will help in giving assurancethat indeed the appropriate video has been selected and is beingcompressed before it is encrypted and sent over a network. The MPEG-2standard is one of the major 401 standards and the most recommendableone for use in frame separation. There are three layers of divisions inthis standard which are the basic stream, the multiplexed transportstream, and the elementary packet stream. Again, this standard will takecare of the transmission process of the video, which will speed up theother processes involving manipulation of the frames. The elementaryvideo stream (VES) makes up the basic steam, which is encoded throughVideo Elementary Bit Stream and will be of great use in compressing thevideo graphics, and more importantly, the Audio Element Stream, whichwill be used as an audio compression standard for compressing the audio.

Therefore, it is a basic requirement that the frames of the video haveto be separated where the audio frames will be put apart with videoframes. Then, the respective standards will be applied in compression ofthe two sets of files. However, video compression will require moreworking on the frames, where the DCT/DWT 122 algorithms will be usedalong with Quantization and motion compensation 123 will be carriedusing various algorithms such as the Huffman frame compression algorithmbefore obtaining fully compressed frames for the video. The audio too iscompressed using MPEG standards, which requires them to be converted toMP-III or MP3. The MP3 frames are also compressed using the DCT/DWTencoding standards. Indeed, they go through the same steps as those ofthe graphics. But the procedures explained below are for both graphicsand audio for video encoded using MPEG stands. But this does not meanthat videos in other standards are not accepted, they are. But they haveto be converted first. Technically, this makes the process faster sincethere are not many separate steps that are required.

Basically, a video contains audio and video—images in motion—frames. Inthe compression process, the motion estimation process has to take placein sequential mode as illustrated in FIG. 4 in Motion Estimation 121.This process involves several activities which include calculation ofmotion vectors which will involve finding matching blocks in the frameto be developed in the future in correspondence to the current frame.This process is efficiently used in the detection of temporalredundancy. Various algorithms can be used in this process, but they usean underlying assumption that only translational motion can becompensated for rotational motion and it is not possible to estimatezooming by use of block-based algorithms. The rotational algorithm isknown to be the most important and computationally insensitive processin a video compression algorithm. Another consideration to put forth inrunning the estimation in 121 is the aspect of frame rate, which can bedescribed better by frequency. Basically, the frames range between 15and 30 per second, and there is no large motion of an object between twosuccessive frames. These are some of the basic facts that are primarilyconsidered in the estimation process upon compression. Therefore, thesearch algorithms to be used will search for a matching block in variouspositions of graphics for next frame. The searching will be carried outin the search region.

An efficient technique that may be relied on at this juncture is thebest to match, which uses a searching algorithm to identify the currentand next frame. The value found in the search is then put against theMean Absolute Error (MAE) to determine its relevance and reliability.Matching between current and the future frame is done by use ofmagnitude where smaller magnitude means better match and vice versa istrue. The block displaced with the minimum MAE is taken for calculationof the motion vector. In this work, a three-step algorithm is used whichinvolves three steps of finding the closest match between frames in thecompression process. The three-step search algorithm is the simplest oneto implement, and it gives assurance of robustness and near-optimalperformance. It works through searching for the best motion vectors in acourse to the fine search pattern. In the first step, a combination ofpoints, say 8 or 16 are taken from distances in a step size from thecenter; there they are then compared. The second step involves halving.This takes place through moving the center to the point with minimumdistortion. The first and second steps are repeated over and over untila step size that is smaller than one is arrived at. The third and laststep involves interconnecting and converging the step size.

DCT/DWT 122 are different conversion strategies that are used in thevideo, which are technically important in ensuring that the video issuccessfully converted. DCT stands for Discrete Cosine Transform, whichfunctions by the image and video compression standards. The DCT is alsoused as a derivative of the Discrete Fourier Transform (DFT) whichcontrols the variation of Digital Signal Processing (DSP).Fundamentally, DCT is used in the transformation of the spatial domainrepresentation of graphics for the spatial frequency domain. Below isthe formula that will be used in the DCT 122 compression. Finding eachwaveform describes best the DCT transformation in the compressionprocess. The finding of the wavelength can be associated withcorresponding weight Y9k−1) so that the sum of 64 waveforms scaled bythe corresponding weights Y(k−1) may yield the reconstructed version ofthe original 8×8 block of the media file. DCT allows for compression tobe conducted at a very high rate and allows for minimal block artifactthat is present in many other transforms due to the periodic nature ofDCT. This gives a lossless compression process, which makes it the besttransformation method to use in this case. This is again because thecompression process 103 seeks to be achieved in a lossless way. The onlyissues with this compression strategy are that it presents a finiteword-length in the microprocessor and therefore there is found the lossof information due to rounding and truncating of calculated DCT values.Further problems may be found where the information loss isirreversible. But this is not a big issue as it is only part of themetadata that is lost whole other crucial details such as the qualityand resolution will be retained, which are the most important details.

Quantization follows DCT compression in 123. The backend compressionprocess considers the fact that human eyes are not sensitive to the highfrequency of graphics. Thus, if the compression process involves removalof high frequencies, no perceptible loss can in the content be realizedin the quality of the graphics, which is the basic principle thatquantization 123 will bring about. A DCT operation above will help inobtaining the spatial frequency content of the video graphics.Quantization, therefore, involves the removal of the spatial frequencycontent in the graphics. This process may use references from thestandard values of quantization tables that are used in the processes ofseeking deemphasizing of higher frequencies in DCT graphics. However, itis a lossy process and therefore causes some irreversible loss to DCT asmentioned above. But again, the loss is bearable.

Quantization is done along with motion compensation on 123. Indeed,motion compensation is similar to motion estimation regarding the stepsinvolved. This is done as a bandwidth optimization step which literallyreduces the bandwidth requirement for sending frames. It achieves thisby sending only the frames indifference rather than the actual frames.Motion vectors which are produced in the process of motion estimationare used in motion compensation in producing the predicted image in theencoder the same way it would be produced in the decoder. The two setsof graphics—the current frame and the compensated one are subtracted,and the difference that is obtained is sent to the receiver along withthe motion vectors. The decoder, therefore, can produce the exact copyof the future frame by means of compensating the motion of the currentframe using the motion vectors and then adding the difference image.

Upon explanation of the Compress 103 entity under FIG. 2, it isillustrated that Huffman encoding algorithms will be used. The Huffmanencoding works through the use of entropy encoding and is based inShannon's Information theory. The theoretical explanation of the theoryis that the symbols which appear more frequently should be representedin fewer bits, which ones that occur less frequently should berepresented in fewer bits in the compression process. Another code thatshould be referred to and works the same way is the Morse code. Afterconducting these steps, the video and the audio frames need to becombined and protected using a cryptography method that secure and atthe same time hard to break. This will allow for the transmission of thevideo to be conducted efficiently. FIG. 5 below illustrates the processthat will be followed in the processes of encoding and transmitting thevideo.

FIG. 5: this figure illustrates one of the most crucial parts of thework to be carried out in this video, which is to conduct the encodingand encryption process. Encoding goes hand in hand with rendering. Butthese steps do not require much attention since the only basicrequirements are to verify that the video is working well and that it isproviding the right information—audio and video, and is in the rightformats. In recalling, the encoding process that is required has to uselossless compression methods which have already been discussed. Toeliminate the confusion between encoding and compression, encodinginvolves ensuring that the video is in the right format, which goes handin hand with rendering which ensures that the video is playable. On theother hand, compression involves reducing video sizes. But, these twoprocesses have to use graphics and audios in frames. Compression takesplace in working on the frames separately as illustrated in FIG. 4 whileencoding combines the frames after compression. Therefore, a video aftercompression of a smaller size when compared to a video beforecompression.

In this system, a block encoding process will be applied as illustratedin FIG. 5. This is an efficient encoding method as far as the securityof the system is concerned. One benefit of this encoding process is thatit will be in a position to support a variety of formats, including thefour major video formats recognized in this application as indicated inFIG. 3—the MP4 306, MOV 307, AVI 308, and FLV 309. However, this processwill work by priority where it will first consider AVI 308 videoformats, but only if the user specifies them. Presumably, the conversionprocess may involve quantization the same way it is required incompression. But in this case, quantization is required for convertingthe video signals if they are analog to digital. The encoding processuses the compressed frames and resolves to find the 4LSB bits for RGBpixels for the cover frames. In this process, the message is convertedto being secret. The process of making the message secret or encryptingit will be done on the frames individually. Since MPEG standard supportshigh-resolution videos, the graphics will be assumed to have multiplecolors, and therefore, RGB pixels, which will be in frames will beconsidered. The RGB color code is basically known to have 24 bits valueper pixel, which is equivalent of 00000000, 00000000, and 00000000 forthe back pixels and 11111111, 11111111, and 11111111 for the whitepixels. The last four Least Significant Bits (LSBs) will be consideredin each RGB pixel value. This will take place immediately afterinputting the cover video at 111, collecting the metadata at 112, andputting in place cover frames at 113. The metadata and the encryptionkey are embedded within the RGB pixel value.

Precisely, the embedding of encoding key in the frames using the LSBhashing as illustrated in 114 is done the last four bits of the RGBpixel standards. Still, in 114, more will be done which will include theconversion of the encryption key from character format to Binary format.This will indeed be conducted ceremoniously. However, it is important tonote that the cryptography information is converted into binary formatand embedded into the created frame blocks before being be made acomplete compressed and encoded video. This will greatly favor thereplication and slicing processes before transmission of the videos.Blocks carry the same information, and therefore, any replica or slicewill carry the cryptography information with it. Irrespective of thenumber of frames available in a video, the cryptography information isavailed and embedded in each set. This information is similar per videobut unique per different videos, and it is therefore important intransmitting a video in different packets considering that the videowill finally be merged to together later using the same information evenafter splitting. The video whose frames are already embedded with theencryption key is identified as a stego video 116 (one on whichsteganography has been performed already), and the process is identifiedas steganography. The input of the video, however, does not change whichwill provide the same video regarding content (graphics and audio),descriptive information, bit rate, and other crucial details afterreaching its destination. Hashing or using a hashing function greatlyimproves the security. Hashing involves converting the security key intoa collection of numerous hashes—strings of characters that look randomand which are way longer than the password or key. They are however notrandom since they are mathematically transformed into a format thatcannot be misused or hacked.

Technically, it is only a reverse conversion strategy that can be usedin reversing the hashing. Basically, according to the instructions givenabove, the hashing function will make the video more secure during theexportation process. After exportation, the recipients may provide thekey for accessing the videos in cases where the videos may require ahigh level of secrecy. But this is one layer of security; there areother two and perhaps more on top of it. This is because, from thislayer, the packet transmission system has to include another layer ofprotection. Another layer may be added when the export may be requiredto be conducted over a Virtual Private Network (VPN). But this is not arestriction. More security protocols may be implemented. At this level,however, the frame 117 is one considered secure. But, frame 117represents a large number of frames that have already been assignedprivate keys for identification and for use in identifying the framesthat belong together during the merging process. The other frames 114are those that will have been worked on before since in large videos,the frames are worked in batches and each batch will have a given numberof frames. Also, as illustrated in FIG. 4, audio and video frames willhave been processed differently, and they will, therefore, be producedat different times. Overall, the encoding process involves protection ofthe frames and assigning them the private key to allow for theirtransportation in a secure mode.

An algorithm will be used in achieving the above crucial process whichwill involve performing eight basic steps. The first step will be toinput the video, which will be borrowed from frame store 119 in FIG. 4.But it will pass through the compression processes indicated in thefigure as explained above. The next step in this phase will involvereading the required information from the video file itself and theassociated metadata in 112. The video input will be fetched from theinput cover video file 111. The compressed frames will then be obtained.Another very crucial step will follow, which will involve finding thelast 4 LSB bits in 116 for RGB pixels in the frames. A hashing functionwill then be used in finding positions to embed encryption keys. Thenext step will be to convert the key into binary format and then to hashit. Having done all, these, the video frames will be regenerated withinformation that they did not have before. In hashing using LSB, a raretechnique identified as the steganalysis technique will be implemented.However, the technique will not be expected to yield very significantresults as it will be used by user 100 to confirm if the LSB hashingimplemented will work efficiently. It will typically use some redundantinformation since the details added in each frame, particularlycryptographic information will be the same for the frames. But this maybe enhanced using neural networks and more sophisticated support vectoralgorithms, but this may be work for the next patent which can bedeveloped from this one. The analysis could be used in showing acorrelation between adjacent frames in detecting special distributionmodel across the frames. But this will not work better for MPEGstandards or the MP4 file formats while compared to the AVI. Frames inAVI have a tenderness of behaving differently, which makes the methodsuitable for such formats.

FIG. 6: This figure involves several major actions where among themthere is a replication of the video, which is followed by slicing thevideo into many portions, transportation, and then merging the slicesupon reaching the destination. Also, decoding is done upon the videoreaching destination which is another action that is carried out in thisstage. Also, the properties of various video destinations that will beimplemented will be explained under this figure. This figure shows theprocesses that follow after a video will have been created, converted,compressed, encoded or encrypted and now ready to be duplicated andsliced, and then transported to the given destinations as per therequirements of user 100. The process starts with replicating the video.This will be done to obtain copies equal to the number of intendedrecipients. Thus, user 100 should have prior knowledge regarding howmany users they need to send the video file to. This, therefore, willnot be just a backend process that would not be controlled by the user,neither will it be under the user's full control. Rather, it will partlyrequire user's assistance to deliver optimal results.

Thus, the user will need to provide destination addressed. Depending onthe number of destinations, replicas of the main video file will beproduced. However, some more information will be added to at replicavideo 126B and other videos like it, which imply that there will be aslight alteration. But, since the alteration will be done after thevideo file will have been replicated already, the editing will be doneto each replica. Upon editing, recipients' information provided by theuser will be embedded. Since the video will be sliced further, eachslice too will carry the information provided by the user regarding thevarious destinations. The same information will be used in routing toallow for the assignment of similar destination addresses for a slice,and for them to be merged. The file replication service is offered inWindows OS, but for the same to be supported by other operating systems,several adjustments have to be made. For instance, in Windows, there isthe DFS replication process that is done on servers. But, consideringthat this system is implementing could services, an application on thecloud, which will be used by Software as a Service (SaaS) will need tobe used. In borrowing the technology used in DFS, a state-basedreplication engine will be used. In the cloud it can be accessedremotely and also on premises, it can be accessed through means of thereal-time networking process.

File replication could also be identified as cloning, only that the twoterms differ in areas of application where replication is moretechnological while cloning is more biological, especially concerninggenetics in DNA cloning. But, the theory behind the functionality inboth cases is similar. It basically means to copy cells. In thereplication to be done in this case, a data grid will need to be createdto come up with an algorithm that will facilitate the replication. Herea Grid Data Management Pilot (GDMP) too will be required. As indicatedearlier, storage management functionality will be required at thisjuncture to smoothly coordinate the storage process for video filereplications 125B and other that are alike, which is again determined bythe number of recipients. But, the major task that will be performed bythe tool will be to coordinate the replication procedure. Also,coordination of the network will be crucial since the network for thereplication need to be coordinated. There are classifications ofexisting file replication techniques that can be adopted. But theyemploy the networking concept, and none of them facilitates any furtherprocesses that may be conducted after replication apart fromtransmitting the file over a network to the destination. But, in thisapplication disclosure, another crucial action, slicing, will be donebefore transmission of the file. Various techniques may be adopted, butthey will have to be restricted to only replicating the files withoutinitiating the transmission process or rather going to the transmissionphase.

There are two major classifications of replication techniques which arestatic and dynamic. But we will prefer to adopt the dynamic ones due totheir great advantage over the static ones. The only reason as to whostatic techniques may be adopted is the fact that destination addressedare assigned manually, which might be a critical requirement to avoidfalse destination addressed being assigned and files end up being sentto the wrong recipients. A technique to be used in the replication willneed to be dynamic, but it will borrow some important features used instatic techniques. Also, a partly transmission and a partly replicationstrategy will be implemented. This strategy will favor destinations thatmay take time to receive the files. It will involve converting thereceiver computers to nodes that can be accessed by other computers thatmay take more time to access the files. For instance, said receiver ordestination 129A had received the file, and 129B has not yet receivedit. Destination 129A will be converted into a server after receiving thewhole file, and destination 129B will be able to source the video fromboth sources—the main source 126B and the peer destination 129A. Thus,the creation of a peer network will be necessary.

But, the method above may create conflicts in decoding the encryptions.This will, therefore, require the user at destination 129A to share theencryption keys with the user at destination 129B since they will haveto access the same file. Another possible conflict that may occur is theaspect receiver 129B receiving both files from the main source and thepeer at the same time. This may end up consuming the bandwidth from thefact that the incomings signals will be in large quantities. To copewith this issue, the receiver, after getting the exported video from onerecipient, either the peer or the main exporter, will need to reject anyother connections and concentrate only receiving from one source. If thesignals arrive at the same time, the file from the main source will begiven higher regard. The high regarding will obey the fact that thespecifications of the peer user's computer are not known and theconnection may be insecure.

The slicing process follows successful replication. File slicing willbasically involve partitioning the replication file into multiplesmaller files. The essence of this will be to ensure that the file is insmaller portions that are easy to transport. If a file is of 100 Mb insize, it may be replicated into ten pieces of 10 Mb each. Transmitting afile of 100 Mb in the same network takes more time than transportingseveral, say the ten files in ten different network connections.Typically, many technical terms can be used in explaining this process.It can be termed as splitting or slicing. This application disclosurecan adopt various splitting frameworks. This is another instance wherethe Windows version of the application will be operated easy. This willbe realized through the aspect of Windows having inbuilt tools that cando the splitting, just like the partitioning process of a hard drive.Each algorithm, however, will consider splitting portions of equalsizes, as illustrated in the example. The Windows version of thisapplication will adopt the inbuilt functionalities of the Windows OS.Two approaches of splitting will be chosen from, one of them being theuse of spanned pieces and the other one being the use of blocked pieces.In coming up with spanned slices, one identical slice will be sent tomultiple destinations simultaneously. This is indeed an ideal way ofsending the slices. But, the only issue with this method that it doesnot give a way through which it can be used in the creation of theslices 106A through 106H. But, it is the ideal method of allocating thesame slices after they are created.

Nonetheless, the backend functionality of third-party applications thatcarry out the splitting process will be borrowed. The sequential stepsfor splitting that are borrowed from these applications include thecreation of a compressed file, which will have already been done, then acustom size will be set. In setting the size of splits, a function willbe set to divide the slices into equal portions and to ensure that thelarger the file, the more splits will be created. The conditions forsplitting the files will be file size, and the bandwidth available. Itis important to note that the splitting will be done on each replicatedfile as indicated in FIG. 6 where from the main file 126, replicas 126Aand 126B will be created. Thus, slicing will be done to each replicatedfile. The pseudocode below will be used in creating the function:

If (size>100 MB);

Split=file/10;

Else if(size<100 mb);

Split=(file/10)/10))$$;

As per the pseudocode above, a file that will be of 100 Mb or less insize will only be divided ten times. But, files that will be of capacitythat is greater than 100 MB, two types of the division will be donewhere for each 100 Mb, ten divisions will be done. There are other SaaSapplications available in the cloud which could also be used, but sincethe system has to be original, an original inbuilt splittingfunctionality has to be used. The splitting has to take care of theprocess and ensure that it is lossless just like in the compressionprocess. This is done bearing in mind that the quality of the videoswill have to be retained. The splitting process will be initiatedimmediately the replication is completed as shown in FIG. 6. Bandwidthconsideration may come into place too at this juncture. This will callfor analyzing the bandwidth and finding out its availability and thespeed at which it can support the transmission of packets. Therefore,other than bandwidth optimization 200 which was discussed earlier,bandwidth analysis will be required. After conducting the analysis,feedback will be issued on the amount of available bandwidth, and thetime that it may take when compared to the file size and the totalnumber of destinations. Thus, bandwidth monitoring will be essentialespecially in giving crucial information regarding how efficiently thevideo may be exported to the destination.

Bandwidth analysis may be done manually through accessing the routerdirectly, or through accessing the network information through systemsettings of the operating system of the computer being operated by user100. The analysis will help the user make some ideal decisions regardingvarious issues associated with the transfer of the data. In analyzingthe bandwidth, there will be several requirements which will includesource IP address, destination IP address, source port and destinationport, the networking protocols that will be used, an interface tovisualize the system analytics algorithms which will collect thebandwidth statistics and compare it to the statistics of the video filesto be exported and give analytical feedback. However, local exportationwill demand less. Indeed, in local exportation, the most crucial thingthat will be required is a location directory address. Local exportationis the transfer that will be conducted within the same user computer.After identification of the directory, the local transfer mechanism willbe implemented, but it will also use protocols that are similar to theones used in networking such as the file transfer protocol (FTP). But,the destination location will need to be confirmed of its existence toavoid transferring the file to the wrong destination. Online transferonto the cloud will be as much demanding as when exporting the videoover a network or rather an external transfer.

Cloud exportation will require internet supply. A limitation, therefore,may be easily posed by lack of sufficient and adequately fast internetconnection. It will be therefore the responsibility of user 100 toensure that they have a strong internet connection with a high uploadspeed or more than 5 Mbps. This is because cloud computing will involveuploading the files into the cloud where users will access them fromthere. Therefore, the concept of cloud file sharing will be incorporatedin this case. The basic process of cloud file sharing will again requirean ISP that will provide cloud space or storage for the file. Since theexportation is private and need to have the files delivered to specificusers, unique addresses for the users will be created, and they willneed to be connected to the internet for them to access the files. Also,they will need to have the private key that they will use in the attemptto access the files from the cloud. Typically, the process can becompared to the process followed in sharing files via Dropbox or Googledrive where the recipient should own an account in either cloudplatforms for them to access files over the internet. This is indeed acrucial consideration to implement to ensure a secure and fast privateconnection and data transfer.

Thus, three types of transmission may be conducted in the exportation ofthe slices as indicated above which are local transfer—within the samecomputer, networked external transport, and cloud transport. Unlike innetworked transmission, local transfer within the same computer—from onedirectory to another—pointers are created with the new address and sentto the export destination. The pointer also acts as a link that leadsthe user to space where the file is stored in the database. But, oneimportant consideration that will have to be taken into account is thefact that there are different file systems. FAT32 and NTFS are thecommonly known formats. FAT (File Allocation Table) 32, or exFAT (64-bitversion) if formatted in ASCII, EBCDIC, and BINARY formats which, sameas NTFS, which are supported by the format. FAT coordinated the linkingor creating links to different directories through a table. But, thisformat is not accepted by Operating Systems. Also, NTFS has a differentfile format, and both formats are commonly used in Windows-based filetransfer or rather users of computers powered by Windows OS.Technically, there are more considerations to put forth, one of thembeing the fact that users are running other operating systems such asLinux-based ones. Technically, there are different ways that filetransfer methods and formats can be changed which include changing theformats. For example, changing formats from EBCIDIC to either BINARY orASCII can change the transfer methods and formats efficiently to the onethat matches the format in the host computer.

Considerably, the file type does not change unless any video-playingsoftware in the destination cannot support it. While now focusing againon network 127, which inclusive of 127A and 127B, it is noted thatbandwidth analysis and bandwidth optimization are necessary steps thatwill need to be carried out to make it easier and faster to transmit thefiles. Also, it had been briefly discussed that transmission over IPv6would be more preferable while compared to IPv4 or other transmissiontechnologies. IPv6 is an IP addressing system that is more unique andtypically different when compared to IPv4 regarding speed and securityand reduction of latency, which makes it the best choice to go for.Besides, it is has a technically great ability to support larger filesand transmit them at a higher speed. This addressing system is based onHexadecimal Numbering System which uses a radix base of 16. Itrepresents the value in a readable format and uses nine symbols forrepresentation of from 0 to 9 and A to F. A global unicast addressingsystem is used in IPv6, which works in line with the global routingprefix. This is represented by the implementation of an address withthree sections. The three sections are divided where the first 48 bitsof the total 128 bits represent the global routing prefix, the second 16bits are the subnet ID, and the last 64 bits are the interface ID. Asobserved, the global prefix bits are way more than those of IPv4. Thismakes it possible for the address to stand out uniquely among thousandsof others. The same address is applicable in local settings, which makesit again uniquely identifiable and cannot be conflicted with others.This again presents another benefit or advantage of using the IPv6addressing system-which is the aspect of allowing form exportation ofthe video the numerous destinations.

In destination 128-128A and 128B, very crucial activities take place.These activities are to merge the slices, decrypt them, and decode themfor playing. Then, the video is allocated storage space in destination129 where the recipient of the export can access it any time of need.The merging, however, will not involve many struggles while compared toslicing since no creation of unique addresses will be required, andinstead, unique addresses will have been created, and the slices withdifferent addresses will have already been transmitted to theirrespective destinations. Thus, slices reaching a destination will havethe same encryption key, and their header files will be similar. Thismeans after merging, the addresses or header information too will mergeas one, and therefore one file will be created. The process ofdecompressing will therefore follow, decoding or rendering processingalong with decryption processes will be carried out as well. Theseprocesses will be carried out to ensure that the video will be readableand playable in the destination. These processes are further explainedin FIG. 7.

FIG. 7: In this figure, it is assumed that a file has already reachedits destination and is now being worked on so that it can be readable.The process follows the various steps illustrated from 400 to 404. Thefirst step 400 is to decrypt the encrypted file. File. As illustratedearlier, the file will have arrived and merged, and the headerinformation merged as well. The header information contains theinformation to be used in this process. But, as it is illustrated in theencryption process 116, an LSB hashing function will be implemented,which will require the receiver of the export to have a key fordecrypting the file. Therefore, the individual will need to receive itfrom the importer. The key may be exchanged through other means. But,since this process is time sensitive and seeks to make the processfaster, it will involve making the IP address of the recipient thedecryption key. So, if a file will have been sent to the wrongdestination, by mistake, which might be a different IP address from theone that had been assigned as the receiver of the file, then it may notopen. This rarely happens, however, and therefore, the video will bedecrypted immediately it reaches the export destination. For videos thatwill be exported locally, there will be no necessary encryptionprocesses required.

The decryption process 400 is then followed by another very crucialprocess identified as decompression. This is a process of restoring thevideo frames which will have been compressed. The compression processwill have reduced the size of the overall file significantly by thedecompression process will restore the initial video size since thelossless compression process will have been implemented. The videodecompression process is the inverse or the reverse of the compressionprocess. Therefore, the steps involved in compression will be reversed.The whole process as explained in FIG. 4 will now be done in reversemode where the data will be decompressed through use of the sameprocessed such as quantization and motion compensation in 123, andmotion estimation in 121, which will focus on creating a reference pointfor the encoding processes to be conducted. Also, the same DCT/DWTalgorithms will be used not in reverse mode. This will considerably meanthat the file will be restored as it was initially. Technically, colorspace conversion will be required depending on the various requirementsin the destination folder. Also, granting of permission for conversionis another sensitive issue that has to be keenly focused on. Forinstance, the user 100 may need to restrict permissions for alterationof the video upon reaching the destination. The user will, therefore,need to set privileges that will be allowed and the restrictions thatwill not be allowed.

The completion process of compression of the video streams has tofeature into the way of color representation in a video codec, whichaffects the appearance of a video in the media. Technically, there arevarious basic ways through which displays can be varied in theirappearance in luminance and chrominance plates. The process of colorspace conversion will not be necessary for the devices or space, but itwill be very crucial in customizing the visualization of the video. Thiswill indeed be a subprocess of conversion. Typically, if the userapplications in the export destination do not support the format thatthe video had been compressed and encrypted with, they will need to haveit converted to a format that is supported by the applicationsavailable. This process will be boosted by the video codec which ensuresthat the video compression and decompression algorithms are consideredwhile carrying out the conversion process. The codec is basically usedin the compression process, decompressed first. These processes have tosee through the rendering of the video—which is basically described asensuring that the video can play in its destination location without anyproblems and that the quality is retained, especially during thedecompression process. Thus, the codec is usable in processes 401, 402,and 403.

According to the illustration in FIG. 7, the conversion process is notmandatory. The video can be decoded, rendered, and played the right way.The conditions for facilitating this will include the aspect of thevideo being in a format that is supported by the applications in thedestination. For example, if the destination computer runs on Windows,an MP4 file can be supported by the inbuilt Windows Media Player.Therefore, there will be no need for converting it. But, it will be ofMOV format, there will be a need for converting the video to a formatthat is well supported by Windows Media Player. However, some hardwareand software upgrade may be required in order to have the destinationsuse software that is up-to-date, which will be confirmed to supportvarious video formats. This will save the time that may be required inconverting the video, and thus help greatly in achieving the majorobjective of having faster video export while compared to the exportingprocesses that are implemented in place.

The Store & Play 404 represent the aspect of using the video afterreaching the destination. At this juncture, three entities take part.The entities are the user in the receiving end, the storage, and themedia player. These key players are denoted in 405, 406, and 407. Theuser has the most significant role to play, especially in issuingcommands to the media player and projecting the video. The media playerthen reads the video frame and visualizes them. Upon playing the video,virtual memory, which is commonly known as the Random-Access Memory(RAM), which is illustrated in FIG. 1 under the hardware category 150 isrequired and is of great essence. The video will have to be loaded fromthe secondary storage 407 and loaded to the virtual memory in portionsso as the be available for processing on a real-time basis. Again, theuser needs to install large virtual memory to help in loading a videowith larger quantity into it before the video is processed. The processinvolved here, however, has little to do with how fast the video arrivesfrom its source to the destination. The rendering process is also notcomplex since it only involves reversal or rolling back the steps thatwill have been involved in the conversion, encryption, compression, andencoding the video. The network through which the video will have beentransmitted through will be a great determinant of the speed throughwhich the video will be transmitted with. The network setup will,therefore, create the difference.

FIG. 8: This figure illustrates the transmission process. Notably,transportation involves transmission to varying destinations which maybe the local, to the cloud, or through a LAN or WAN network to anothercomputer. The LAN or WAN transmission as well as one that thecloud—which implements the internet will have to follow the networkingmodel for it to transmit data successfully. FIG. 8 illustrates both theTCP/IP and OSI models that may be involved in the fast transmission ofthe video file from the source to export destination. Some assumptionswill be made at this juncture, one of them being that bandwidthoptimization process will have been conducted and that there will havebeen conducted a thorough analysis on the network to find one that hasless traffic. Other assumptions will be the fact that IPv6 IP addressingprotocol will be used in place of IPv4. But, exceptions of cases wherethe addressing or the network setup may not support IPv6, IPv4 may beused. But, again IPv6 will be of great benefit when it comes to theprovision of greater bandwidth, greater speed, better and fastertransmission method, have reduced latency, supports a larger variety ofaddresses, and is more secure.

In looking at the transmission from a TCP/IP perspective, the user 100interacts with the application layer, which implements various protocolssuch as the HTTP, FTP, SMTP, SNMP, POPS, and others. Also, other toolssuch as bandwidth monitors, browsers, and others will use this sameapplication layer in performing various activities. This layer isavailable in both the OSI and TCP/IP model. This application will have abrowser module. The browser module will be created, and its major rolewill be to establish and control the connection to the network. But,many operating systems basically provides network configurationproperties and functionalities, which can be used by the application inestablishing connections. But, apart from having the connectionscreated. To develop a browser, the only complex part involves theintegration of an engine.

The physical layer will have more to deliver as far as fast transmissionwill need to be achieved. The data link or the physical layer does theconnecting, and therefore has to create variation whether a fastconnection between the networks 127A and 127B will be fast or not.Indeed, this is the layer that received the data for transmission first.Ethernet and ARP protocols are involved in this juncture. Any physicalnetworking devices that will need to be used will be set up in thislayer. These include the transmission line, the earlier mentioned CAT6and CAT6a cables for supporting the IEEE 802 and IEEE 802.11 networkingstandards. Also, in the case of modems will be required, they will beset up here. Other than Ethernet cables, there are others that can beused in the same transmission processes such as Fiber optic cables,coaxial cables, and others. But, coaxial cables are only used intransmitting analog signals and have narrow and slow bandwidth. Fiberoptic cables, however, outdo Ethernet cables when it comes to thecapacity of data that can be supported, the speed, noise resistance, andresistance to attenuation. But, even though fiber optic cables are waybetter, they cannot bend sharply since they have high chances ofbreaking and therefore, for computers on premises—say in the samebuilding, ethernet cables will be the best choice. But, the 802.11n orthe Wi-Fi standards can also be used in creating peer connectionsbetween computers that seek to export a video from one to another. Inthis layer, demultiplexing will also be done upon sending the slices.This is because the major agenda at this juncture is to create as manytransmission channels as possible.

The address resolution protocol (ARP) is used in this layer to resolveany issues that may be associated with conflicting protocols. Forinstance, if the receiver of the export implements an IPv4 protocolstandard, the ARP with work on resolving it to ensure that the networkfollows the IPv6 standard. In the same physical layer, the linkagebetween the exporter and the destination will be created. The linkagewill help sender 100 in identifying the receiver and indeed knowing thedetails required in the network. The content set up in this layer iscombined with the content set up in the next layer, which is thenetworking later. Other necessary functions that will be carried out inthis layer include bit synchronization, error detection, and through useof the Neighbor Discovery Protocol (NDP), discover other networks thatmay cause noise or interfere with the efficient transmission of thevideo file packets through the network. Next, there is the networklayer, which is also in some cases identified as the transport layer.The major functions that will be conducted in this layer will be tocreate packets from the signals that will have been received in thephysical layer and to connect independent networks to transmit thepackets to them. One crucial consideration that has to differentiatebetween the two layers is that in the physical layer, the connectednetworks will be discovered. But in the network layer, the networks tobe connected to from among the discovered ones. This layer is verycrucial. Through the browser, the user will be able to select thedestinations through their unique identifiers—the IP address. In FIG. 8,the network layer is denoted by 133.

From the analysis of what will be required of the network layer, it isevident that the IP will be very crucial in the exportation process overa network so far since it is the address used for routing. This meansthere will be an interface listing the available IP addresses on thenetwork, showing ready destinations. User 100 will then select theaddresses to send the content to. The data link, as illustrated before,will be responsible for the establishment and termination of the linkbetween the source and destination computers. It will also control thetraffic of the packets being transmitted and will work on sequencing aswell as acknowledgment of sending and receiving packets. Therefore, thenetwork will allow user 100, after establishing a connection and sharingthe video, to terminate the connection immediately the content reachesthe destination fully. Other crucial functions that will be carried outin this layer include checking for any errors that may occur during thetransmission of the packets and media access management. Therefore, thislayer also enables a user to restrict connection to parties that may beprohibited from connecting. More layers may be involved as illustratedin FIG. 8 in the transmission. So far, the network layer 133, the datalink layer 132, and the physical layer 131 will have helped user 100 toestablish a connection, make the connection to the possible recipientsor the users on the network, monitor their IP addresses and among themselect the ones to export the video too. Moreover, the three layers willallow the user to select the most efficient networking hardware andsoftware tools as well as create a network configuration, which willallow them to establish the fastest connection. The layers will alsoallow the user to establish and terminate connections when the need be.The videos are then exported to destinations 137 and 138. Thesedestinations are representations of the number of destinations that thevideo can be exported to, which can be one or many.

What is claimed is:
 1. A computer for exporting video that includes aprocessor, comprising: (a) said computer maintaining a video having aninitial video format having at least one of an input resolution, aninput color space, and an input compression technique; (b) said computerincludes at least one first setting for a first destination addressincluding at least one of a first resolution, a first color space, and afirst compression technique, where said at least one of said firstresolution, said first color space, and said first compression techniqueis different than said at least one of said input resolution, said inputcolor space, and said input compression technique; (c) said computerincludes at least one second setting for a second destination addressincluding at least one of a second resolution, a second color space, anda second compression technique; where said at least one of said secondresolution, said second color space, and said second compressiontechnique is different than said at least one of said input resolution,said input color space, and said input compression technique; where saidat least one of said first resolution, said first color space, and saidfirst compression technique is different than said at least one of saidinput resolution, said input color space, and said input compressiontechnique; where said at least one of said first resolution, said firstcolor space, and said first compression technique is different than saidat least one of said second resolution, said second color space, andsaid second compression technique; (d) said computer as a result ofreceiving a user selection, automatically accesses said video andautomatically generates a first replica of said video based upon said atleast one of said first resolution, said first color space, and saidfirst compression technique, and automatically generates a secondreplica of said video based upon said at least one of said secondresolution, said second color space, and said second compressiontechnique, where said first replica is different than said secondreplica; (e) said computer as a result of receiving said user selectionautomatically associates said first destination address with said firstreplica and said second destination address with said second replica;(f) said computer as a result of receiving said user selectionautomatically initiates a transmission of said first replica to saidfirst destination address and said second replica to said seconddestination address, where a portion of said first replica and a portionof said second replica are transmitted simultaneously by said system torespective said destinations.
 2. The computer of claim 1 wherein saidfirst replica is of a portion of said video.
 3. The computer of claim 2wherein said second replica is of a portion of said video.
 4. Thecomputer of claim 3 whereby said second setting for said seconddestination address includes said second resolution.
 5. The computer ofclaim 4 whereby said second setting for said second destination addressincludes said second compression technique.
 6. The computer of claim 5whereby said second setting for said second destination address includessaid second color space.
 7. The computer of claim 4 whereby said firstsetting for said first destination address includes said firstresolution.
 8. The computer of claim 5 whereby said first setting forsaid first destination address includes said first compressiontechnique.
 9. The computer of claim 6 whereby said first setting forsaid first destination address includes said first color space.
 10. Thecomputer of claim 1 further comprising creating a plurality of firstslices based upon said first replica, each of which include anassociated said first destination address.
 11. The computer of claim 10further comprising creating a plurality of second slices based upon saidsecond replica, each of which include an associated said seconddestination address.
 12. The computer of claim 1 wherein said at leastone first setting is set through a graphical user interface.
 13. Thecomputer of claim 12 wherein said at least one second setting is setthrough said graphical user interface.
 14. The computer of claim 1further comprising rendering said video on a graphical user interfaceand simultaneously rendering said first replica on said graphical userinterface.